using System;
using System.Collections.Generic;
using System.Text;

namespace Sinacor.Servico.Bovespa.BovespaBase.Util
{
	public static class Funcoes
	{
		/// <summary>
		/// metodo responsavel por formatar uma data no formato
		/// dd[separador]mm[separador]yyyy
		/// ex: dd/mm/yyyy
		/// </summary>
		/// <param name="data">data a ser formatada</param>
		/// <param name="separador">separador a ser utilizada para formatar a data</param>
		/// <returns></returns>
		public static string FormatarData(DateTime data,string separador)
		{
			return data.Day.ToString().PadLeft(2, '0') + separador +
				data.Month.ToString().PadLeft(2, '0') + separador +
				data.Year.ToString();
		}

        /// <summary>
        /// Data:13/02/2008 11:36
        /// Autor:DMilanez.7Comm
        /// Obs:
        /// Criacao de sobrecarga do metodo de formatacao de datas
        /// </summary>
        /// <param name="data"></param>
        /// <param name="separador"></param>
        /// <returns></returns>
        public static string FormatarData(DateTime? data, string separador)
        {
            if (data.HasValue)
            {
                return FormatarData(data.Value, separador);
            }
            else
                return null;
        }

        /// <summary>
        /// Metodo criado para executar a funcao Upper em strings, verificando
        /// se a string de entrada nao esta nula
        /// Data:18/02/2008 13:37
        /// Autor:DMilanez.7Comm
        /// Obs:
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static string ToUpper(string value)
        {
            return (String.IsNullOrEmpty(value) ? String.Empty : value.ToUpper());
        }
	}
}
